Catalogue of parametrised CRC algorithms

您所在的位置:网站首页 crc16-ccitt msb Catalogue of parametrised CRC algorithms

Catalogue of parametrised CRC algorithms

#Catalogue of parametrised CRC algorithms| 来源: 网络整理| 查看: 265

CRC RevEng

CRC RevEng

[ Home | Up | Prev | Next | Disclaimer ]

Catalogue of parametrised CRC algorithms with 16 bits CRC-16/ARC

width=16 poly=0x8005 init=0x0000 refin=true refout=true xorout=0x0000 check=0xbb3d residue=0x0000 name="CRC-16/ARC"

Class: attested Alias: ARC, CRC-16, CRC-16/LHA, CRC-IBM AUTOSAR (24 November 2022), AUTOSAR Classic Platform release R22-11, Specification of CRC Routines I Comprehensive primer on CRC theory (Section 7.1, pp.19–22) I All parameters (Section 7.2.2.2, p.27) IV 7 codewords (Section 7.2.2.2, p.27) 00000000​0000 F20183E1​C2 0FAA0055​E30B 00FF5511​CF6C 332255AA​BBCCDDEE​FF98AE 926B554E​E2 FFFFFFFF​0194 System Enhancement Associates (24 October 1986), ARC 5.20 II Implementation Haruyasu Yoshizaki (10 January 1996), LHA 2.55E II Implementation Rahul Dhesi (19 April 1996), ZOO 2.1a II Implementation Lammert Bies (August 2011), CRC calculator II Implementation PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation (CRC16_arc) Dr Ross N. Williams (19 August 1993), "A Painless Guide to CRC Error Detection Algorithms" (courtesy of the Internet Archive) III All parameters (except Residue) Emil Lenchak, Texas Instruments, Inc. (June 2018), CRC Implementation With MSP430 III All parameters (except Residue) (Section 4.6, p.6) Altera Corporation (April 1999), crc MegaCore Function Data Sheet, version 2 (courtesy of the Internet Archive) III All parameters (except Residue) (p.6) Unique effective solution of codeword set Created: 30 March 2005 Updated: 2 August 2023 CRC-16/CDMA2000

width=16 poly=0xc867 init=0xffff refin=false refout=false xorout=0x0000 check=0x4c06 residue=0x0000 name="CRC-16/CDMA2000"

Class: academic 3rd Generation Partnership Project 2 (3GPP2) (September 2009), Physical layer standard for cdma2000 spread spectrum systems, revision E, version 1.0 (courtesy of the Internet Archive) I Definition: Width, Poly (Section 2.1.3.1.4.1.1, p.2-95) I Full description (Section 2.1.3.1.4.1, p.2-95) I Shift register diagram (Figure 2.1.3.1.4.1.1-1, p.2-95) Agilent Technologies, Advanced Design System 2008 Update 2, CDMA2K_CRC_Coder module documentation (courtesy of the Internet Archive) III Full description Created: 14 October 2013 Updated: 28 July 2023 CRC-16/CMS

width=16 poly=0x8005 init=0xffff refin=false refout=false xorout=0x0000 check=0xaee7 residue=0x0000 name="CRC-16/CMS"

Class: third-party Dainius Šimelevičius, Remi K. Mommsen et al. (16 December 2016), CERN CMS Online Software (XDAQ) release 14, Event Builder source package, files daq/evb/include/evb/CRCCalculator.h, daq/evb/src/common/CRCCalculator.cc III All parameters (except Residue) III Code: C++ "movilstore" (24 January 2011), Computer Interfacing Forum topic 1650 (courtesy of the Internet Archive) III Reference to application of algorithm on Samsung mobiles IV 5 codewords 02000800​78110000​F00F0000​F7E0 02000800​5B110000​F00F0000​4725 02000800​50110000​F00F0000​F71F 02000800​24110000​F00F0000​3636 02000800​A6100000​F00F0000​141A "xtrusion" (28 November 2010), Computer Interfacing Forum topic 1627 (courtesy of the Internet Archive) IV 12 codewords 02000800​34100000​B0090000​B725 02000800​29100000​B0090000​E76E 02000800​02100000​B0090000​D79B 02000800​05100000​B0090000​A789 02000800​78100000​B0090000​F696 00050900​00000000​30303030​00D55E 01000400​05100000​3793 02000800​34100000​F00F0000​3740 02000800​29100000​F00F0000​670B 02000800​02100000​F00F0000​57FE 02000800​05100000​F00F0000​27EC 02000800​78100000​F00F0000​76F3 "Robert" ("xtrusion") (25 December 2010), Computer Interfacing Forum topic 1636 (courtesy of the Internet Archive) IV 5 codewords 02000C00​30100000​9A010000​00000000​837B 02000C00​30100000​9A010000​9A010000​4B55 02000C00​30100000​9A010000​34030000​934E 02000C00​30100000​9A010000​CE040000​5B09 02000C00​30100000​9A010000​68060000​A311 Unique effective solution of codeword set Created: 13 July 2016 Updated: 2 August 2023 CRC-16/DDS-110

width=16 poly=0x8005 init=0x800d refin=false refout=false xorout=0x0000 check=0x9ecf residue=0x0000 name="CRC-16/DDS-110"

Class: attested Used in the ELV DDS 110 function generator. Init value is equivalent to an augment of 0xFFFF prepended to the message. ELV Elektronik AG (March 2008), Software-Schnittstelle der Funktionsgeneratoren DDS 10/DDS 110 (in German; courtesy of the Internet Archive) I Definition: Width, Poly, CRC byte order (p.67) IV 1 codeword (escaped according to the text) (p.67) 02001082​00731082​F7FE (source: 02000200​731082FE​F7) "wortel", "Gammatester" (19 July 2009), Computer Interfacing Forum topic 1372 (courtesy of the Internet Archive) III All parameters (except Check, Residue) ("Gammatester") IV 3 codewords ("wortel") 02001082​007800ED​96 02001082​0078016D​93 02000500​6600057A​586435 Unique effective solution of codeword set Created: 30 November 2009 Updated: 28 December 2019 CRC-16/DECT-R

width=16 poly=0x0589 init=0x0000 refin=false refout=false xorout=0x0001 check=0x007e residue=0x0589 name="CRC-16/DECT-R"

Class: attested Alias: R-CRC-16 Used in DECT A-fields. ETSI EN 300 175-3 version 2.5.1 (August 2013) I Full mathematical description (Section 6.2.5.2, p.99) I Performance of polynomial (Annex B, p.297) Thomas Pircher (5 November 2022), pycrc 0.10.0 II Implementation Pavel Yazev (9 September 2015), gr-dect2 module gr-dect2/lib/packet_decoder_impl.cc III Code: C++ Created: 7 December 2009 Updated: 3 August 2023 CRC-16/DECT-X

width=16 poly=0x0589 init=0x0000 refin=false refout=false xorout=0x0000 check=0x007f residue=0x0000 name="CRC-16/DECT-X"

Class: attested Alias: X-CRC-16 The single codeword is supported by the implementation confirming CRC-16/DECT-R, defined identically apart from XorOut in the same standard. Used in DECT B-fields. ETSI EN 300 175-3 version 2.5.1 (August 2013) I Definition: Residue; full mathematical description (Section 6.2.5.4, pp.99–101) I Performance of polynomial (Annex B, p.297) "Nick" (27 November 2010), StackOverflow submitted question IV 1 codeword A37029 Created: 30 July 2010 Updated: 2 January 2021 CRC-16/DNP

width=16 poly=0x3d65 init=0x0000 refin=true refout=true xorout=0xffff check=0xea82 residue=0x66c5 name="CRC-16/DNP"

Class: confirmed Lammert Bies (August 2011), CRC calculator II Implementation Created: 2 November 2007 Updated: 28 December 2019 CRC-16/EN-13757

width=16 poly=0x3d65 init=0x0000 refin=false refout=false xorout=0xffff check=0xc2b7 residue=0xa366 name="CRC-16/EN-13757"

Class: confirmed Used in the Wireless M-Bus protocol for remote meter reading. STACKFORCE GmbH (2014), Capt²web sniffer, wireless M-Bus monitor (courtesy of the Internet Archive) II Transcripts confirming implementation with at least 124 codewords (selection) EE449ACE​01000080​2307AABC 7A4700E0​A535E79C​FAA94D07​B173BC10​1496 021CCB01​27DCF516​FF4EA8BC​0A485174​4D3D 438A680E​CFC8EAA7​F5D6476C​AD938EBF​88AF 259794C3​36C6FE96​01D99F81​B5EBDD9F​36B5 67FC406A​A1107F38​0CA349EB​2F1AD57A​D22A 7D8067CD​9D1076 D0F1E6C2​C3962E 384BABA9​53BCE5 70414545​C59920 F0649A4E​11111111​0000E9CA A12F2F2F​2F2F2F2F​2F2F2F2F​2F2F2F2F​4A08 2F2F2F2F​2F2F2F2F​2F2F2F2F​2F2F2F2F​63D7 7A8D00E0​A503B192​2864C36F​29B37AF0​646A D1391E97​9A44C456​786CBB99​CD6ECAAC​B373 In the Web interface packet view, the bytes of the A and M fields are displayed in reverse, compared to transmission order. Patrick Seem, Texas Instruments, Inc. (23 October 2008), AN067: Wireless MBUS Implementation with CC1101 and MSP430 III Definition: Width, Poly, Init, XorOut (Section 5.4, p.9) III Describes synchronous transfer with MSBs sent first, implying RefIn and RefOut (Sections 7.2.1, 7.3.1, pp.13–14) Dr.-Ing. Thomas Weinzierl, Weinzierl Engineering GmbH (July 2005), Stack Implementation for KNX-RF (courtesy of the Internet Archive) III Definition: Poly (Section 2.3, p.3) III CRC byte order, implying RefIn and RefOut (Section 2.3, p.2, etc.) Radio link corresponds to Link A in AN067 (Section 2.2, p.2 vs. AN067 table 3, p.6) "Tim" (6 June 2004), Control.com forum post III Width, Poly cited for ISO/IEC 60870-5-2 "MarcPo", "Gammatester" (30 September 2008), Computer Interfacing Forum topic 925 (courtesy of the Internet Archive) III All parameters (except Check, Residue) ("Gammatester") IV 1 codeword ("MarcPo") 780B1343​65871E6D "Chris P." (27 April 2009), Computer Interfacing Forum topic 1315 (courtesy of the Internet Archive) IV 1 codeword 07400001​AAAA0000​363E Unique effective solution of codeword set Created: 1 October 2008 Updated: 28 December 2019 CRC-16/GENIBUS

width=16 poly=0x1021 init=0xffff refin=false refout=false xorout=0xffff check=0xd64e residue=0x1d0f name="CRC-16/GENIBUS"

Class: attested Alias: CRC-16/DARC, CRC-16/EPC, CRC-16/EPC-C1G2, CRC-16/I-CODE Used in standardised RFID tags. Presented high byte first. EPCglobal Inc™ (4 September 2018), EPC UHF Gen2 Air Interface Protocol: EPC™ Radio-Frequency Identity Protocols Generation-2 UHF RFID Standard, release 2.1 I Definition: Width, Poly, Init, Residue (Table 6-11, p.33) I Definition: RefIn, Residue (Annex F.2, p.143) I Shift register circuit diagram (Figure F-2, p.144) I Transmission order, implying RefIn and RefOut (Section 6.3.1.4, p.33) IV 7 codewords (Table F-2, pp.144–5) 0000E2F0 08001111​CCAE 10001111​2222968F 18001111​22223333​78F6 20001111​22223333​4444C241 28001111​22223333​44445555​2A91 30001111​22223333​44445555​66661835 Philips Semiconductors (30 January 2004), SL2 ICS11 Product Specification, revision 3.0 (courtesy of the Internet Archive) I Definition: Width, Poly, Init, Residue (Section 10.2, p.26) I Code: C (Section 10.3.2, pp.30–32) I Worked example (as code trace) (Section 10.3.2, p.32) ETSI EN 300 751 version 1.2.1 (January 2003) I Definition: Width, Poly (Section 11.2.5, p.68) IV 1 codeword (Section 11.2.5, p.68) 40214142​4387F5 PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation Hee-Bok Kang et al. (December 2008), High Security FeRAM-Based EPC C1G2 UHF (860 MHz-960 MHz) Passive RFID Tag Chip, ETRI Journal, Volume 30 Number 6 IV 2 codewords (p.830) 10100000​00010000​00000000​00000010​10000010​10001 3000319F​60A35627​6E28F14F​DC9C5DB4 "Geert" (7 December 2007), Computer Interfacing Forum topic 216 (courtesy of the Internet Archive) III Quoted definition for GENIbus: Width, Poly, Init, XorOut IV 2 codewords cited for GENIbus 10012002​0C823E00​39821500​64820900​FA910A 07200102​C302101A​901C Scott McLaughlin (24 September 2008), Computer Interfacing Forum topic 907 (courtesy of the Internet Archive) III Reported definition for TI Tag-It: full (except Check, Residue) IV 4 codewords cited for TI Tag-It 00000000​01000000​00010110​00111100​10111 00000000​01010000​00000000​00001100​01011000​11010000​00010110​11010001​11001 11000000​01010000​00000000​00000110​00101100​01101000​00001000​00010001​11110010​01111011​01000101​11000000​11000001 00000001​01010000​00000000​00001100​01011000​11010000​00011000​00111000​00000101​01010101​01010110​00100110​00111 Unique effective solution of codeword set Created: 2 November 2007 Updated: 3 January 2021 CRC-16/GSM

width=16 poly=0x1021 init=0x0000 refin=false refout=false xorout=0xffff check=0xce3c residue=0x1d0f name="CRC-16/GSM"

Class: attested ETSI TS 100 909 version 8.9.0 (January 2005) I Full mathematical description (Section 5.1.2.2, p.67 — Section 5.1.3.2, p.69 — Section 5.1.4.2, p.70) ECMA standard ECMA-130, edition 2 (June 1996) — ISO/IEC 10149:1995 I Definition: Width, Poly, XorOut, RefOut (Section 22.3.6, p.23) Andreas Mueller et al. (15 May 2018), cdrdao 1.2.4, modules cdrdao-1.2.4/dao/SubChannel.cc, cdrdao-1.2.4/dao/PQSubChannel16.cc III Code: C++ Stanislav Brabec (26 January 2018), CD-disassembler 0.1 (gzipped tar archive; courtesy of the Internet Archive), module cddisasm-0.1/cddisasm.c III Code: C Stanislav Brabec (17 January 2014), CD-disassembler homepage (courtesy of the Internet Archive) IV 2 codewords 01010100​00000000​02005A28 035D24E3​58020001​0034D0F2 Created: 17 February 2017 Updated: 4 August 2023 CRC-16/IBM-3740

width=16 poly=0x1021 init=0xffff refin=false refout=false xorout=0x0000 check=0x29b1 residue=0x0000 name="CRC-16/IBM-3740"

Class: attested Alias: CRC-16/AUTOSAR, CRC-16/CCITT-FALSE An algorithm commonly misidentified as CRC-CCITT. CRC-CCITT customarily refers to the LSB-first form of the algorithm in ITU-T Recommendation V.41 (see CRC-16/KERMIT); its MSB-first counterpart is CRC-16/XMODEM. AUTOSAR (24 November 2022), AUTOSAR Classic Platform release R22-11, Specification of CRC Routines I Comprehensive primer on CRC theory (Section 7.1, pp.19–22) I All parameters (Section 7.2.2.1, p.26) IV 7 codewords (Section 7.2.2.1, p.26) 00000000​84C0 F20183D3​74 0FAA0055​2023 00FF5511​B8F9 332255AA​BBCCDDEE​FFF53F 926B5507​45 FFFFFFFF​1D0F Western Digital Corporation (May 1980), FD 179X-02 datasheet (courtesy of University of Kent Mirror Service) I Definition: Width, Poly, Init (p.5) Floppy disc formats: IBM 3740 (FM, e.g. Acorn DFS), ISO/IEC 8860-2:1987 (DOS 720K), ISO/IEC 9529-2:1989 (DOS 1.4M) II Implementation Lammert Bies (August 2011), CRC calculator II Implementation PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation Dr Ross N. Williams (19 August 1993), "A Painless Guide to CRC Error Detection Algorithms" (courtesy of the Internet Archive) III All parameters (except Check, Residue) Berndt M. Gammel (29 October 2006), Matpack 1.9.1 class MpCRC documentation III All parameters (except Residue) Altera Corporation (April 1999), crc MegaCore Function Data Sheet, version 2 (courtesy of the Internet Archive) III All parameters (except Residue) (p.6) Scarybeasts (19 February 2021), Beebjit module beebjit/ibm_disc_format.c III Code: C IV 2 codewords FE000000​01F1D3 FB + E5 × 256 + A40C Unique effective solution of codeword set Created: 30 March 2005 Updated: 3 August 2023 CRC-16/IBM-SDLC

width=16 poly=0x1021 init=0xffff refin=true refout=true xorout=0xffff check=0x906e residue=0xf0b8 name="CRC-16/IBM-SDLC"

Class: attested Alias: CRC-16/ISO-HDLC, CRC-16/ISO-IEC-14443-3-B, CRC-16/X-25, CRC-B, X-25 HDLC is defined in ISO/IEC 13239. CRC_B is defined in ISO/IEC 14443-3. ITU-T Recommendation T.30 (September 2005) I Definition: Residue; full mathematical description (Section 5.3.7, p.78) ITU-T Recommendation V.42 (March 2002) I Definition: Residue; full mathematical description (Section 8.1.1.6.1, p.17) ITU-T Recommendation X.25 (October 1996) I Definition: Residue; full mathematical description (Section 2.2.7.4, p.9) IV 4 codewords (Appendix I, p.145) 033F5BEC 01738357 013FEBDF 03733364 IETF RFC 1331 (May 1992) I Code: C (Appendix B, pp.61–3) IETF RFC 1662 (July 1994) I Code: C (Appendix C.2, pp.19–21) William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling (1992), Numerical recipes in C: The art of scientific computing, 2nd ed., Cambridge University Press, ISBN 0-521-43108-5 III All parameters (except Check) (p.898) III Code: C (pp.900–1) IV 2 codewords (p.898) 54D9E4 (source: 54261B) 4361744D​6F757365​39383736​35343332​31910A (source: 4361744D​6F757365​39383736​35343332​316EF5) Berndt M. Gammel (29 October 2006), Matpack 1.9.1 class MpCRC documentation III All parameters (except Residue) iBiquity Digital Corporation (14 December 2016), HD Radio™ Air Interface Design Description: Advanced Application Services Transport, rev. H (courtesy of National Radio Systems Committee) IV 1 codeword (Figure 6-3, p.17) 21005100​00494433​03000000​00004A54​49543200​00000D00​0000416E​616C6F67​20426C75​65735450​45310000​000D0000​004A2E20​512E2050​75626C69​6354414C​42000000​12000000​54686520​4C6F7374​20536573​73696F6E​73F527 ISO/IEC FCD 14443-3 (24 November 2008) IV 3 codewords (Annex B.2, p.50) 000000CC​C6 0FAAFFFC​D1 0A123456​2CF6 Unique effective solution of codeword set Created: 10 September 2005 Updated: 4 August 2023 CRC-16/ISO-IEC-14443-3-A

width=16 poly=0x1021 init=0xc6c6 refin=true refout=true xorout=0x0000 check=0xbf05 residue=0x0000 name="CRC-16/ISO-IEC-14443-3-A"

Class: attested Alias: CRC-A Used in contactless IC cards. ISO/IEC FCD 14443-3 (24 November 2008) I Definition: Init, XorOut (Section 6.2.4, p.11) I Citation for rest of algorithm: ISO/IEC 13239 (see CRC-16/IBM-SDLC) IV 2 codewords (Annex B.1, p.49) 0000A01E 123426CF Adam Laurie (31 August 2010), crc16.c (C source text; courtesy of the Internet Archive) III Code: C Adam Laurie (31 August 2010), comment on a Ridrix's Blog post III Code: C IV 1 codeword AABBCCDD​EE001122​7B09 Flavio D. Garcia, et al. (October 2008), Dismantling MIFARE Classic, Proceedings of the Thirteenth European Symposium on Research in Computer Security (ESORICS 2008) IV 6 codewords (Figure 2, p.100; Section 4.1, p.102, referencing ISO/IEC 14443; Figure 6, p.105) 9370C2A8​2DF4B3BA​A3 08B6DD 6030764A 500057CD 93700000​0000009C​D9 6000F57B Flavio D. Garcia, et al. (October 2008), Dismantling MIFARE Classic, slide presentation, ESORICS 2008 conference IV 1 additional codeword (p.13) 93701DFB​E03335D3​55 Unique effective solution of codeword set Created: 30 April 2011 Updated: 3 August 2023 CRC-16/KERMIT

width=16 poly=0x1021 init=0x0000 refin=true refout=true xorout=0x0000 check=0x2189 residue=0x0000 name="CRC-16/KERMIT"

Class: attested Alias: CRC-16/BLUETOOTH, CRC-16/CCITT, CRC-16/CCITT-TRUE, CRC-16/V-41-LSB, CRC-CCITT, KERMIT Used in Bluetooth error detection. Init=0x0000 is used in the Inquiry Response substate. Press et al. identify the CCITT algorithm with the one implemented in Kermit. V.41 is endianness-agnostic, referring only to bit sequences, but the CRC appears reflected when used with LSB-first modems. Ironically, the unreflected form is used in CRC-16/XMODEM. For the algorithm often misidentified as CCITT, see CRC-16/IBM-3740. ITU-T Recommendation V.41 (November 1988) I Definition: Residue; full mathematical description (Section 2, p.2) I Shift register diagrams (Appendix I, p.9) Frank da Cruz (June 1986), Kermit Protocol Manual, Sixth Edition (plain text; courtesy of the Internet Archive) I Full definition (except Check) (Section 6.3) I Pseudocode (Section 6.3) Bluetooth SIG (31 January 2023), Bluetooth Specification, Core Version 5.4 I Definition: Init (Section 2.B.1.2.1, p.425; Section 2.B.6.5.1.4, pp.481–3 — Section 2.B.6.6.2, pp.490–3 — Section 2.B.7.1, p.497 — Section 2.B.8.4.3, pp.525–7) I Definition: Width, Poly, RefIn, RefOut, XorOut (Section 2.B.7.1.2, pp.498–9) I Shift register diagram (Figure 2.B.7.6, p.499) Lammert Bies (August 2011), CRC calculator II Implementation PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation Aviation Data Systems (Aust) Pty Ltd. (13 June 2006), PC.ACARS-G ACARS client (PATS presentation) (courtesy of the Internet Archive) II Transcripts confirming implementation with 10 codewords 43AED6C8​ADD65143​1551B031​02D332B9​C1D65131​3732B583​F303 6DAEB9CD​ADCD524F​15C1C154​022FCD45​4C43C1D9​C1AEC154​31AEB9CD​ADCD524F​32B0B934​46C2C134​43B0B3B9​B9468348​61 CDAEB9CD​ADCD524F​54DF7F38​02D33231​C1CDC8B0​31343883​61A7 6D808080​80808080​15D35180​02B0B058​D3838236 CDAEB9CD​ADCD524F​15C2C1B9​024CB032​C1CDC8B0​3134382F​CD454C43​C1D9C1AE​C15431AE​B9CDADCD​524FC1B0​B9B53132​3443B3C4​B9B0B3C2​C1B53131​C2B9B0B0​C143B534​37313443​B0C437C1​34B6B543​34C1C432​B6B9B5B5​C1434343​3445B9C1​3831B543​38313234​3446C131​B332B0B9​34B9B0B3​B3C1B045​4534C438​374643B3​834483 6DAEB9CD​ADCD524F​B9DF7FD5​8391C6 43AED6C8​ADDA5843​D50DD0C1​524954D9​20BF8397​AC 43AED6C8​ADDA5843​15C831BC​0DD0C152​4954D920​BF8302D5 32AED6C8​ADDA58C2​15383137​02CD31B3​C15146B0​34B3B90D​8ACDD6C1​0D8A5146​C1B034B3​B92F31B0​AED6C8DA​58C2AECD​454C200D​8AC1C1B0​B5313720​20202020​83751B 6DAEB9D6​ADD3CD57​B5DF7F4A​839BC6 Andrew Richardson (17 March 2005), WCDMA Design Handbook, Cambridge University Press, ISBN 0-521-82815-5 (embedded content) III Definition: Width, Poly, Residue (Section 7.1.3, Table 7.3, p.223) III Shift register diagram (Figure 7.4, p.223) William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling (1992), Numerical recipes in C: The art of scientific computing, 2nd ed., Cambridge University Press, ISBN 0-521-43108-5 III All parameters (except Check) (p.898) III Code: C (pp.900–1) IV 2 codewords (p.898) 54A114 4361744D​6F757365​39383736​35343332​318DC2 Atmel Corporation (30 March 2015), Application Note ATAN0086: Using Atmel ATA5577 in Animal Identification Application according to ISO11784/85 (courtesy of MCS Electronics) IV 2 codewords (Figure 2-2, p.5; Figure 3-1, p.6) 10000000​00000000​00000000​00000000​00000011​10011111​00000000​00000001​00100010​01110100 10001110​11000100​11000110​00000010​00000011​10011111​00000000​00000001​01111100​11100100 reveng -m CRC-16/KERMIT -i 0047 -X -c 4E010203​04050607​0809 → 6DD2 reveng -m CRC-16/KERMIT -i 0047 -a 1 -X -c 01110100​10000000​01000000​11000000​00100000​10100000 → 11101100​00110110 reveng -m CRC-16/KERMIT -i 0047 -a 1 -X -c 01110100​10000000​01000000​11000000​00100000​10100000​11 → 10110000​11011000 Unique effective solution of codeword set Created: 10 September 2005 Updated: 4 August 2023 CRC-16/LJ1200

width=16 poly=0x6f63 init=0x0000 refin=false refout=false xorout=0x0000 check=0xbdf4 residue=0x0000 name="CRC-16/LJ1200"

Class: third-party Reference from named polynomial in Prof. Koopman's CRC Polynomial Zoo. Used in the LoJack vehicle tracking system. Dennis Sheirer (24 January 2015), SDRTrunk module sdrtrunk/src/main/java/io/github/dsheirer/edac/CRCLJ.java III Code: Java III Worked example (as generator matrix) Created: 20 February 2016 Updated: 6 June 2018 CRC-16/M17

width=16 poly=0x5935 init=0xffff refin=false refout=false xorout=0x0000 check=0x772b residue=0x0000 name="CRC-16/M17"

Class: attested Contributed by Mark Adler. M17 Project (13 July 2023), M17 protocol specification, version 1.0 I Definition: Width, Poly, Init, RefIn, RefOut, Check (Section 2.5.4, pp.24–5; Table 2.9, p.25) IV 3 codewords (Table 2.9, p.25) FFFF 41206E 256 bytes (i) plus 1C31 Created: 7 May 2022 Updated: 4 August 2023 CRC-16/MAXIM-DOW

width=16 poly=0x8005 init=0x0000 refin=true refout=true xorout=0xffff check=0x44c2 residue=0xb001 name="CRC-16/MAXIM-DOW"

Class: attested Alias: CRC-16/MAXIM Maxim Integrated (8 August 2012), DS1921G Datasheet I Definition: Width, Poly, Init, XorOut (p.32) I Shift register diagram (p.34) Maxim Integrated (22 August 2012), Application Note 27 (PDF, HTML) I Definition: Init (p.10) I Shift register diagram (p.11) I Code: 8051 assembler (pp.12–16) I Worked example (p.15) Created: 26 April 2009 Updated: 28 December 2019 CRC-16/MCRF4XX

width=16 poly=0x1021 init=0xffff refin=true refout=true xorout=0x0000 check=0x6f91 residue=0x0000 name="CRC-16/MCRF4XX"

Class: attested Youbok Lee, PhD, Microchip Technology Inc. (16 July 2001), "CRC Algorithm for MCRF45X Read/Write Device" I Definition: Width, Poly (reverse form) (p.1) I Shift register diagram (p.1) I Flowchart (p.2) I Worked example (p.3) I Code: C (pp.4–5) Piers Desrochers, PICList MassMind, "A quick guide to CRC" (courtesy of the Internet Archive) III Description III Worked example William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling (1992), Numerical recipes in C: The art of scientific computing, 2nd ed., Cambridge University Press, ISBN 0-521-43108-5 III All parameters (except Check) (p.898) III Code: C (pp.900–1) IV 2 codewords (p.898) 54261B 4361744D​6F757365​39383736​35343332​316EF5 "kilobravo" (16 June 2008), Computer Interfacing Forum topic 578 (courtesy of the Internet Archive) IV 2 codewords 3A7164D9 3A916A3E Unique effective solution of codeword set Created: 18 January 2008 Updated: 4 August 2023 CRC-16/MODBUS

width=16 poly=0x8005 init=0xffff refin=true refout=true xorout=0x0000 check=0x4b37 residue=0x0000 name="CRC-16/MODBUS"

Class: attested Alias: MODBUS CRC presented low byte first. MODICON Inc. (June 1996), Modbus Protocol Reference Guide, Rev. J I Algorithm (pp.112–3) I Code: C (pp.113–5) Lammert Bies (August 2011), CRC calculator II Implementation Ondřej Karas (28 February 2006), CRC calculator II Implementation Panu-Kristian Poiksalo (28 February 2003), Control.com forum post III Code: ObjectPascal Created: 27 February 2007 Updated: 2 January 2021 CRC-16/NRSC-5

width=16 poly=0x080b init=0xffff refin=true refout=true xorout=0x0000 check=0xa066 residue=0x0000 name="CRC-16/NRSC-5"

Class: attested Implemented in standard NRSC-5-D as a 16-bit CRC truncated (punctured) to 12 bits. The upper 4 bits, the last to leave the shift register, are discarded. Init = 0xFFFF implements the algorithm prescribed by iBiquity on 80-bit PDUs. Substitute Init = 0x39C8 if skipping 8 leading zeroes, Init = 0x849D if skipping all 12 leading zeroes and processing only the 68 message bits. In any case Init = 0x0000, XorOut = 0x4955 is equivalent. iBiquity Digital Corporation (23 August 2011), HD Radio™ Air Interface Design Description: Station Information Service Transport, rev. J (courtesy of National Radio Systems Committee) I Definition: Poly (mantissa only); method (Section 4.10, p.38) Incorporated by normative reference into National Radio Systems Committee standard NRSC-5-D. Andrew Wesie (9 June 2017), NRSC-5 receiver for rtl-sdr, file nrsc5/support/sample.xz (XZ compressed raw radio recording, 22 MB) II Recording confirming implementation with 28 codewords (4 bits extrapolated; selection) 000048BB​ABA0329A​0A0A2671 (source: 00001010​00001010​10011010​00110010​10100000​10101011​10111011​01001000​00000001​00100110) 0030C8D3​D37379D9​1E0A7B40 (source: 00001010​00011110​11011001​01111001​01110011​11010011​11010011​11001000​00110000​01111011) 0010C097​A920F31B​240A2D1D (source: 00001010​00100100​00011011​11110011​00100000​10101001​10010111​11000000​00011101​00101101) 00200882​E861D03C​3C0AEB71 (source: 00001010​00111100​00111100​11010000​01100001​11101000​10000010​00001000​00100001​11101011) 00100000​DC69FABC​4E0AB6CD (source: 00001010​01001110​10111100​11111010​01101001​11011100​00000000​00000000​00011101​10110110) 00001500​4000809E​54456AC7 (source: 01000101​01010100​10011110​10000000​00000000​01000000​00000000​00010101​00000111​01101010) 00200008​FA7E849E​54454B82 (source: 01000101​01010100​10011110​10000100​01111110​11111010​00001000​00000000​00100010​01001011) 00100074​4280849E​54457C5C (source: 01000101​01010100​10011110​10000100​10000000​01000010​01110100​00000000​00011100​01111100) Andrew Wesie, Clayton Smith et al. (17 April 2018), NRSC-5 receiver for rtl-sdr, module nrsc5/src/pids.c III Code: C Created: 16 November 2018 Updated: 20 March 2019 CRC-16/OPENSAFETY-A

width=16 poly=0x5935 init=0x0000 refin=false refout=false xorout=0x0000 check=0x5d38 residue=0x0000 name="CRC-16/OPENSAFETY-A"

Class: attested The single codeword is supported by the codewords confirming CRC-8/OPENSAFETY, defined identically apart from Width, Poly in the same standard. Ethernet POWERLINK Standardisation Group (18 October 2018), OpenSAFETY Safety Profile Specification Working Draft Proposal, version 1.5.2 I Full description (Section 5.1.2.6, pp.43–4) I Error detection capability (Section 8.1, p.182) I Code: C (Appendix 1, pp.196–9) IV 1 codeword (Appendix 1, l.3525, pp.196–7) 23C80834​11223344​55667788​0374 Prof. Philip Koopman, Tridib Chakravarty (June 2004), Cyclic Redundancy Code (CRC) Polynomial Selection for Embedded Networks III Assessment of polynomial performance (as 0xAC9A or C3) Created: 22 July 2016 Updated: 7 May 2022 CRC-16/OPENSAFETY-B

width=16 poly=0x755b init=0x0000 refin=false refout=false xorout=0x0000 check=0x20fe residue=0x0000 name="CRC-16/OPENSAFETY-B"

Class: attested The single codeword is supported by the codewords confirming CRC-8/OPENSAFETY, defined identically apart from Width, Poly in the same standard. Ethernet POWERLINK Standardisation Group (18 October 2018), OpenSAFETY Safety Profile Specification Working Draft Proposal, version 1.5.2 I Full description (Section 5.1.2.6, pp.43–4) I Error detection capability (Section 8.1, p.182) I Code: C (Appendix 1, pp.196–9) IV 1 codeword (Appendix 1, l.3530, pp.196–7) 22C81256​30112233​44556677​887031 Prof. Philip Koopman, Tridib Chakravarty (June 2004), Cyclic Redundancy Code (CRC) Polynomial Selection for Embedded Networks III Assessment of polynomial performance (as 0xBAAD) Created: 22 July 2016 Updated: 7 May 2022 CRC-16/PROFIBUS

width=16 poly=0x1dcf init=0xffff refin=false refout=false xorout=0xffff check=0xa819 residue=0xe394 name="CRC-16/PROFIBUS"

Class: attested Alias: CRC-16/IEC-61158-2 PROFIBUS International (March 1998), PROFIBUS Specification, Normative Parts, Edition 1.0, Part 9 (courtesy of the Internet Archive) I Transmission order, implying RefIn and RefOut (Part 9 Section 8.5.1, p.902) I Definition: Width, Poly, Init, Residue (Part 9 Section 8.8.4, pp.905–7) I Properties of polynomial (Part 9 Section 8.8.4, p.906) "Chetanya" (17 November 2011), Computer Interfacing Forum topic 1752 (courtesy of the Internet Archive) III Definition: Width, Poly, Init IV 5 codewords 34AF21 011057E0 321000E3​7E82 331000E3​2A0F 26110100​00080A10​9739 Unique effective solution of codeword set Created: 5 July 2016 Updated: 7 May 2022 CRC-16/RIELLO

width=16 poly=0x1021 init=0xb2aa refin=true refout=true xorout=0x0000 check=0x63d0 residue=0x0000 name="CRC-16/RIELLO"

Class: third-party Reported for a Riello Dialog UPS. "Snamprogetti" (17 April 2009), Computer Interfacing Forum topic 1305 (courtesy of the Internet Archive) III Definition: Width, Poly, Init III Algorithm reported to be CRC-CCITT, implying RefIn and RefOut. IV 1 codeword 20225253​30308790 Created: 18 April 2009 Updated: 28 December 2019 CRC-16/SPI-FUJITSU

width=16 poly=0x1021 init=0x1d0f refin=false refout=false xorout=0x0000 check=0xe5cc residue=0x0000 name="CRC-16/SPI-FUJITSU"

Class: attested Alias: CRC-16/AUG-CCITT Init value is equivalent to an augment of 0xFFFF prepended to the message. Fujitsu Semiconductor (10 October 2007), FlexRay ASSP MB88121B User's Manual (courtesy of the Internet Archive) I Definition: Width, Poly, Init (Section 2.5.1, p.153) Lammert Bies (August 2011), CRC calculator II Implementation PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation Berndt M. Gammel (29 October 2006), Matpack 1.9.1 class MpCRC documentation III All parameters (except Residue) Created: 30 October 2007 Updated: 4 August 2023 CRC-16/T10-DIF

width=16 poly=0x8bb7 init=0x0000 refin=false refout=false xorout=0x0000 check=0xd0db residue=0x0000 name="CRC-16/T10-DIF"

Class: attested Used in the SCSI Data Integrity Field. XorOut = 0xBADB is proposed to mark known bad blocks. Gerald Houlder, INCITS Technical Committee T10 (2 May 2003), End-to-End Data Protection Proposal I Definition: Poly, Init (p.6) I Shift register diagram (p.18) George O. Penokie, INCITS Technical Committee T10 (22 October 2003), Simplified End-to-End Data Protection I Definition: Residue; full mathematical description (Sections 4.5.3–4.5.4, pp.4–5) IV 5 codewords (Section 4.5.6, p.6) 00000000​00000000​00000000​00000000​00000000​00000000​00000000​00000000​0000 FFFFFFFF​FFFFFFFF​FFFFFFFF​FFFFFFFF​FFFFFFFF​FFFFFFFF​FFFFFFFF​FFFFFFFF​A293 00010203​04050607​08090A0B​0C0D0E0F​10111213​14151617​18191A1B​1C1D1E1F​0224 FFFF0000​00000000​00000000​00000000​00000000​00000000​00000000​00000000​21B8 FFFEFDFC​FBFAF9F8​F7F6F5F4​F3F2F1F0​EFEEEDEC​EBEAE9E8​E7E6E5E4​E3E2E1E0​A0B7 Ralph Weber, John Lohmeyer, INCITS Technical Committee T10 (20 August 2003), Minutes of Data Integrity Study Group - Aug 19-20, 2003 I Definition: Init, XorOut (Item 4.6, p.3) I Acceptance of previous two documents (Item 4.7, p.3) Pat Thaler, INCITS Technical Committee T10 (28 August 2003), 16-bit CRC polynomial selection I Properties of polynomial Martin K. Petersen, Oracle Corporation (2007); Tim Chen, Intel Corporation (2013), Linux module crypto/crct10dif_common.c III Code: C Created: 29 September 2009 Updated: 2 January 2021 CRC-16/TELEDISK

width=16 poly=0xa097 init=0x0000 refin=false refout=false xorout=0x0000 check=0x0fb3 residue=0x0000 name="CRC-16/TELEDISK"

Class: confirmed Used in the Teledisk disc archive format. DECnet and CRCK allegedly use a Sick-type algorithm but with this polynomial. Will Kranz (8 December 2002), wteledsk 1.01 II Implementation Will Kranz (8 December 2002), wteledsk 1.01 module src/tdcrc.c III Code: C Created: 10 December 2009 Updated: 4 August 2023 CRC-16/TMS37157

width=16 poly=0x1021 init=0x89ec refin=true refout=true xorout=0x0000 check=0x26b1 residue=0x0000 name="CRC-16/TMS37157"

Class: attested Texas Instruments, Inc. (November 2009), TMS37157 datasheet I Full definition (except Check) (pp.39–40) I Shift register diagram (Figure 51, p.39) I Flowchart (Figure 52, p.40) "harper", "jacknad" (November 2010–January 2011), StackOverflow submitted question and answers III Definition: Init (reverse form) ("harper") III Code: C ("jacknad") IV 3 codewords ("harper") 0225A6 02400000​0000A060​E7 02410000​0000A46F​A5 "Petri" (4 May 2010), Texas Instruments, Inc. E2E™ Community forum post IV 1 codeword 01AAAAAA​AAAADC25​AB Unique effective solution of codeword set Created: 17 April 2011 Updated: 28 December 2019 CRC-16/UMTS

width=16 poly=0x8005 init=0x0000 refin=false refout=false xorout=0x0000 check=0xfee8 residue=0x0000 name="CRC-16/UMTS"

Class: attested Alias: CRC-16/BUYPASS, CRC-16/VERIFONE Reported for the multi-threaded portion of the Buypass transaction processing network. Verifone, Inc. (May 1995), TCLOAD Reference Manual (courtesy of the Internet Archive) I Definition: Poly. CRC byte order, implying RefIn and RefOut (Section 4, p.4-1) 3rd Generation Partnership Project (3GPP) TS 25.427 version 17.0.0 (April 2022) (zipped MS Word document) — ETSI TS 125 427 version 17.0.0 (April 2022) I Definition: Width, Poly, Init, XorOut (Section 7.2.1, p.40) I Definition: RefIn, RefOut (Section 6.1.1, p.20; Section 7.2.1.1, p.40) PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation Emil Lenchak, Texas Instruments, Inc. (June 2018), CRC Implementation With MSP430 III All parameters (except Residue) (Section 4.6, p.6) Thomas Schmidt, Microchip Technology Inc. (20 May 2000), "CRC Generating and Checking" III Description (p.4) III Shift register diagram (Figure 1, p.3) III Code: 16C54B assembler (Appendix A, pp.7–11; Appendix B, pp.12–22) Michael Niedermayer, Aurélien Jacobs et al. (27 February 2023), FFmpeg 6.0 (XZ compressed tarfile), module ffmpeg-6.0/libavutil/tests/crc.c IV 1 codeword 1999 bytes (i+i*i) plus 1FBB "Joshua" (31 May 2008), Computer Interfacing Forum topic 530 (courtesy of the Internet Archive) IV 2 codewords 0384901B​56 03848400​00123031​41313330​30323031​33303031​1C393030​62BF Michael Junker (26 October 2009), Computer Interfacing Forum topic 1432 (courtesy of the Internet Archive) IV 7 codewords (7-bit payload characters) 01100110​01110101​10000011​00000110​01100111​01011000​01101000​11101010​0 (source: 331D3030​331D30 + 53716) 01101000​01110101​10000011​00000110​01100111​01011000​01111000​11100100​1 (source: 341D3030​331D30 + 61897) 01101010​01110101​10000011​00000110​01100111​01011000​00001000​11100111​1 (source: 351D3030​331D30 + 04559) 01101100​01110101​10000011​00000110​01100111​01011000​01011000​11100000​0 (source: 361D3030​331D30 + 45504) 01100110​01110101​10100011​00000110​00000111​01011000​00101000​11100011​0 (source: 331D3430​301D30 + 20934) 01100110​01110101​10000011​00000111​00100111​01011000​01101000​11111011​0 (source: 331D3030​391D30 + 53750) 01100010​01110101​10000011​00010110​00000111​01011000​00001001​10101000​1 (source: 311D3031​301D30 + 04945) Unique effective solution of codeword set Created: 4 June 2008 Updated: 2 August 2023 CRC-16/USB

width=16 poly=0x8005 init=0xffff refin=true refout=true xorout=0xffff check=0xb4c8 residue=0xb001 name="CRC-16/USB"

Class: third-party CRC appended low byte first. Anonymous (10 July 1997), "Cyclic Redundancy Checks in USB" (Draft) (courtesy of the Internet Archive) III Definition: Width, Poly, Init, XorOut (p.2) III Definition: Residue (p.3) III Code: Perl (p.4) IV 2 codewords (p.6) 00010203​EF7A 23456789​0E1C Created: 1 December 2007 Updated: 6 February 2017 CRC-16/XMODEM

width=16 poly=0x1021 init=0x0000 refin=false refout=false xorout=0x0000 check=0x31c3 residue=0x0000 name="CRC-16/XMODEM"

Class: attested Alias: CRC-16/ACORN, CRC-16/LTE, CRC-16/V-41-MSB, XMODEM, ZMODEM The MSB-first form of the V.41 algorithm. For the LSB-first form see CRC-16/KERMIT. CRC presented high byte first. Used in the MultiMediaCard interface. In XMODEM and Acorn MOS the message bits are processed out of transmission order, compromising the guarantees on burst error detection. ITU-T Recommendation V.41 (November 1988) I Definition: Residue; full mathematical description (Section 2, p.2) I Shift register diagrams (Appendix I, p.9) 3rd Generation Partnership Project (3GPP) TS 36.212 version 17.1.0 (March 2022) (zipped MS Word document) — ETSI TS 136 212 version 17.1.0 (April 2022) I Definition: Width, Poly, Init, XorOut, Residue (Section 5.1.1, pp.10–11) I Attachment relation, defining RefIn ^ RefOut (Section 5.1.1, p.11) 3rd Generation Partnership Project (3GPP) TS 36.321 version 17.5.0 (June 2023) (zipped MS Word document) — ETSI TS 136 321 version 17.5.0 (July 2023) Referenced from TS 136 212 section 5.2.2.1, p.26 I Definition: RefIn, RefOut (Section 6.1.1, p.90) JEDEC Standard JESD84-A441 (March 2010) (registration required) I Full definition (Section 10.2, pp.157–8) I Shift register diagram (Figure 54, p.159) Acorn Computers Ltd (October 1984), BBC Microcomputer User Guide (courtesy of the Internet Archive) I Pseudocode (Chapter 35, p.369) Ward Christensen, Keith Petersen et al. (8 June 1982), XMODEM 5.0 II Implementation (attributed to Paul Hansknecht) Acorn Computers Ltd (1981), Acorn MOS 1.20 (BBC Micro cassette format) II Implementation Lammert Bies (August 2011), CRC calculator II Implementation PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation Berndt M. Gammel (29 October 2006), Matpack 1.9.1 class MpCRC documentation III All parameters (except Residue) Altera Corporation (April 1999), crc MegaCore Function Data Sheet, version 2 (courtesy of the Internet Archive) III All parameters (except Residue) cited for ZMODEM (p.6) William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling (1992), Numerical recipes in C: The art of scientific computing, 2nd ed., Cambridge University Press, ISBN 0-521-43108-5 III All parameters (except Check) (p.898) III Code: C (pp.900–1) IV 2 codewords (p.898) 541A71 4361744D​6F757365​39383736​35343332​31E556 Created: 30 March 2005 Updated: 5 August 2023 Disclaimer

Every effort has been made to ensure accuracy, however there may be occasional errors or omissions. All trademarks and registered trademarks are the intellectual property of their respective owners. The code and documentation included in this document are supplied without warranty, not even the implied warranties of merchantability or fitness for a particular purpose. In no event shall the author or his suppliers be liable for any loss, damage, injury or death, of any nature and howsoever caused, arising from the use of, or failure, inability or unwillingness to use, this software or documentation.

[ Top of page ]

Greg Cook, [email address] https://reveng.sourceforge.io/crc-catalogue/16.htm Last updated 5 August 2023 Links last verified 20 July 2023

Valid HTML 4.01 Strict. Hosting by SourceForge.net

[ Top of page ]



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3